QT定时器事件startTimer

您所在的位置:网站首页 qt qtime 头文件 QT定时器事件startTimer

QT定时器事件startTimer

2024-07-14 08:31| 来源: 网络整理| 查看: 265

文章目录 定时器事件1、开启一个定时器:2、关闭定时器3、定时器事件4、示例代码

定时器事件 1、开启一个定时器: int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer); 功能:启动一个定时器事件并返回一个定时器id 参数说明: interval:定时器的触发时间(触发的间隔时间) 2、关闭定时器 void QObject::killTimer(int id) 功能:关闭指定id的定时器 参数说明: id:启动定时器时返回的id 3、定时器事件 virtual void timerEvent(QTimerEvent *event); 功能:当启动定时器后自动调用的函数(虚函数需要重写) 参数说明: event:事件(可用于判断当前发生的事件等) 4、示例代码

mainwindow.h文件

#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); void timerEvent(QTimerEvent *e); ~MainWindow(); private: Ui::MainWindow *ui; int timerid1; int timerid2; }; #endif // MAINWINDOW_H

mainwindow.cpp文件:

#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); timerid1 = startTimer(1000); timerid2 = startTimer(3000); } void MainWindow::timerEvent(QTimerEvent *e) { if(e->timerId()==timerid1) { qDebug("timer1"); } else if(e->timerId()==timerid2) { qDebug("timer2"); } } MainWindow::~MainWindow() { delete ui; }

main.cpp文件

#include "mainwindow.h" #include int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }

5、运行结果 在这里插入图片描述 timer1是每秒调用一次定时器事件,timer是每三秒调用一次定时器事件,因此输出顺序为先输出两个timer1再输出一个timer2并且马上输出一个timer1;并一直循环



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3